# -*- coding: utf-8 -*-
"""
------------------------------------------------------------------------------
    File Name:  demo1
    Author   :  wanwei1029
    Date     :  2020-01-01 
    Desc     :  用dict可以方便创建pandas对象，如果dict的值为单值，则为Series,如果是list，则为DataFrame.
    1:如何取一个dataFrame对象的行和列。
        取列:df.shape[1], 取行：df.shape[0] 或len(df)
    2:如何读取csv文件。
        2.1：如果文件以,号分隔，可以直接读取，如果是其它符号，需要指定：sep="\t",或sep="\\s+"(空格分隔，包括tab)
        2.2:常用参数：skiprows=[0],忽略指定行。lineterminator指定换行符。
    3：groupby方法
        3.1：group,根据指定列进行分组，分组后的对象是DataFrameGroupBy,可以通过循环for name, group_item in group_obj
            来循环每个分组，其中name是分组对应的标签，group_item是分组数据，类型为DataFrame.
    4:找出文件中指定列的重复，但其它列不一样的数据并排序显示（比如找相同语料但意图不一样的数据）。
        4.1：no_duplicate = data.drop_duplicates().drop_duplicates('userwords', keep=False)
            drop_duplicates()删除所有列都重复的数据，保留第一个值。
            drop_duplicates('userwords', keep=False) 删除userwords重复的数据，keep=False不保留重复数据，剩下的是唯一数据。
        4.2：duplicate_data = data.drop_duplicates().drop(no_duplicate.index)
            drop(no_duplicate.index)删除唯一值，剩下的就是有重复的值。
        4.3：duplicate_data.sort_values('userwords', inplace=True)
            排序显示。
        4.4：方法备注
            data.duplicated() 返回行是否重复。
            data.drop_duplicates() 删除所有列都重复的数据，重复数据保留第一个。
            data.drop_duplicates('userwords', keep=False） 删除指定列重复的数据，keep值有first,last,False.
    5：merge  合并
        pd.merge(left, right, how="left", on="key")
        how 默认inner，内连接，两边都要有key，另外还有left,right,outer
        on:表示按哪列合并。
    6：删除drop(),插入insert(),append()，pop()
        6.1:data.drop('gender', axis=1)
            drop返回删除后的结果，原对象不会变，可通过inpalce=True来设置，axis默认为0，即删除行，=1为删除列。
        6.2：data.insert(0, "address", ['a','b','c','d']
            insert插入一列，需要3个参数，0表示插入的位置，第二个参数是列的标签，第三个是值。
            insert在原对象上进行，没有返回。
        6.3：data.append({"address":"d","name":"ww","age":21","gender":"male"}, ignore_index=True)
            如果df有列标签，则不能用append list对象添加，要通过map指定值，且设置ignore_index=True
------------------------------------------------------------------------------
"""


def demo():
    pass


if __name__ == '__main__':
    test_method = "demo"
    if test_method == "demo":
        demo()

